home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / misc / a8085.lha / A8085 V1.0 / 8085.doc next >
Text File  |  1995-07-31  |  22KB  |  818 lines

  1.   ___   ___   ___  _____
  2.  / _ \ / _ \ / _ \| ____|
  3. | (_) | | | | (_) | |__
  4.  > _ <| | | |> _ <|___ \
  5. | (_) | |_| | (_) |___) |
  6.  \___/ \___/ \___/|____/
  7. *************************
  8.  
  9.  
  10. Symbols and abbreviations
  11. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  12.  
  13. accumulator     register A
  14. addr            16-bit address
  15. data            8-bit data
  16. data16          16-bit data
  17. port            8-bit address for I/O
  18. r,r1,r2         one of the registers A,B,C,D,E,H,L
  19. DDD,SSS         pattern of a register (DDD is destination, SSS is source)
  20.                 DDD or SSS | register
  21.                 -----------+---------
  22.                     111    |    A
  23.                     000    |    B
  24.                     001    |    C
  25.                     010    |    D
  26.                     011    |    E
  27.                     100    |    H
  28.                     101    |    L
  29. rp              one of the register pairs BC,DE,HL,SP
  30. RP              pattern of a register pair
  31.                   RP  | register pair
  32.                 ------+--------------
  33.                   00  |      BC
  34.                   01  |      DE
  35.                   10  |      HL
  36.                   11  |      SP
  37. SP              stack pointer
  38. PC              program counter
  39. h bevor or
  40. after symbol    the high byte of 16-bit data or address
  41. l bevor or
  42. after symbol    the low byte of 16-bit data or address
  43. Z               Zero flag
  44. S               Sign flag
  45. P               Parity flag
  46. CY              Carry flag
  47. AC              Auxiliary carry flag
  48. flags           xxxxx represent CY P AC Z S
  49.                 where x can be
  50.                 - = is not changed
  51.                 X = is changed
  52.                 0 = becomes cleared
  53.                 1 = becomes set
  54. ()              content of register or address
  55. a <-- b         a gets overwritten by b
  56. a <--> b        a and b are exchanged
  57. AND             logical AND
  58. EOR             logical exclusive OR
  59. OR              logical OR
  60. n               number from 0..7
  61. NNN             binary representation of n
  62. x[n]            bit n from x
  63. cc and CCC        cc  | condition        |  CCC
  64.                 ------+------------------+-------
  65.                   NZ  | not zerro (Z=0)  |  000
  66.                   Z   | zero (Z=1)       |  001
  67.                   NC  | not carry (CY=0) |  010
  68.                   C   | carry (CY=1)     |  011
  69.                   PO  | parity odd (P=0) |  100
  70.                   PE  | parity even (P=1)|  101
  71.                   P   | plus (S=0)       |  110
  72.                   M   | minus (S=1)      |  111
  73.  
  74.  
  75.  
  76.  
  77. 8085 Commands
  78. ¯¯¯¯¯¯¯¯¯¯¯¯¯
  79. Name        : Move register
  80. Syntax      : MOV r1,r2
  81. Semantic    : (r1) <-- (r2)
  82. Code        : 01DDDSSS
  83. Length      : 1
  84. Cycles      : 4
  85. Flags       : -----
  86. Description : Content of register r2 is written into r1
  87.  
  88. Name        : Move from memory
  89. Syntax      : MOV r,M
  90. Semantic    : (r) <-- ((H) (L))
  91. Code        : 01DDD110
  92. Length      : 1
  93. Cycles      : 7
  94. Flags       : -----
  95. Description : Content of cell where (H,L) points to is written into r
  96.  
  97. Name        : Move to memory
  98. Syntax      : MOV M,r
  99. Semantic    : ((H) (L)) <-- (r)
  100. Code        : 01110SSS
  101. Length      : 1
  102. Cycles      : 7
  103. Flags       : -----
  104. Description : Content of register r is written into cell where (H,L) points to
  105.  
  106. Name        : Move immediate
  107. Syntax      : MVI r,data
  108. Semantic    : (r) <-- data
  109. Code        : 00DDD110 data
  110. Length      : 2
  111. Cycles      : 7
  112. Flags       : -----
  113. Description : Value data is written into register r
  114.  
  115. Name        : Move to memory immediate
  116. Syntax      : MVI M,data
  117. Semantic    : ((H) (L)) <-- data
  118. Code        : 00110110 data
  119. Length      : 2
  120. Cycles      : 10
  121. Flags       : -----
  122. Description : Value data is written into cell where (H,L) points to
  123.  
  124. Name        : Load register pair immediate
  125. Syntax      : LXI rp,data16
  126. Semantic    : (rh) <-- hdata16
  127.               (rl) <-- ldata16
  128. Code        : 00RP0001 ldata16 hdata16
  129. Length      : 3
  130. Cycles      : 10
  131. Flags       : -----
  132. Description : Value data16 is written into register pair HL
  133.  
  134. Name        : Load H and L direct
  135. Syntax      : LHLD addr
  136. Semantic    : (L) <-- (addr)
  137.               (H) <-- (addr+1)
  138. Code        : 00101010 laddr haddr
  139. Length      : 3
  140. Cycles      : 16
  141. Flags       : -----
  142. Description : Content of cell where addr points to is written into
  143.               register L, content of cell where addr+1 points to is written
  144.               into register H
  145.  
  146. Name        : Store H and L direct
  147. Syntax      : SHLD addr
  148. Semantic    : (addr)   <-- (L)
  149.               (addr+1) <-- (H)
  150. Code        : 00100010 laddr haddr
  151. Length      : 3
  152. Cycles      : 16
  153. Flags       : -----
  154. Description : Content of register L is written into cell where addr points
  155.               to, content of register H is written into cell where addr+1
  156.               points to
  157.  
  158. Name        : Load accumulator indirect
  159. Syntax      : LDAX rp
  160. Semantic    : (A) <-- ((RP))
  161. Code        : 00RP1010
  162. Length      : 1
  163. Cycles      : 7
  164. Flags       : -----
  165. Description : Content of cell where RP (only BC or DE allowed) points to
  166.               is written into accumulator
  167.  
  168. Name        : Store accumulator indirect
  169. Syntax      : STAX rp
  170. Semantic    : ((RP)) <-- (A)
  171. Code        : 00RP0010
  172. Length      : 1
  173. Cycles      : 7
  174. Flags       : -----
  175. Description : Content of accumulator is written into cell where RP (only
  176.               BC or DE allowed) points to
  177.  
  178. Name        : Load accumulator direct
  179. Syntax      : LDA addr
  180. Semantic    : (A) <-- (addr)
  181. Code        : 00111010 laddr haddr
  182. Length      : 3
  183. Cycles      : 13
  184. Flags       : -----
  185. Description : Content of cell where addr points to is written into accumulator
  186.  
  187. Name        : Store accumulator direct
  188. Syntax      : STA addr
  189. Semantic    : (addr) <-- (A)
  190. Code        : 00110010 laddr haddr
  191. Length      : 3
  192. Cycles      : 13
  193. Flags       : -----
  194. Description : Content of accumulator is written into cell where addr points to
  195.  
  196. Name        : Exchange H and L with D and E
  197. Syntax      : XCHG
  198. Semantic    : (H) <--> (D)
  199.               (L) <--> (E)
  200. Code        : 11101011
  201. Length      : 1
  202. Cycles      : 4
  203. Flags       : -----
  204. Description : Exchange the register pairs HL and DE
  205.  
  206. Name        : Add register
  207. Syntax      : ADD r
  208. Semantic    : (A) <-- (A) + (r)
  209. Code        : 10000SSS
  210. Length      : 1
  211. Cycles      : 4
  212. Flags       : XXXXX
  213. Description : Add the register r to accumulator
  214.  
  215. Name        : Add memory
  216. Syntax      : ADD M
  217. Semantic    : (A) <-- (A) + ((H) (L))
  218. Code        : 10000110
  219. Length      : 1
  220. Cycles      : 7
  221. Flags       : XXXXX
  222. Description : Add the content of cell where (H,L) points to the accumulator
  223.  
  224. Name        : Add immediate
  225. Syntax      : ADI data
  226. Semantic    : (A) <-- (A) + data
  227. Code        : 11000110 data
  228. Length      : 2
  229. Cycles      : 7
  230. Flags       : XXXXX
  231. Description : Add data to accumulator
  232.  
  233. Name        : Add register with carry
  234. Syntax      : ADC r
  235. Semantic    : (A) <-- (A) + (r) + (CY)
  236. Code        : 10001SSS
  237. Length      : 1
  238. Cycles      : 4
  239. Flags       : XXXXX
  240. Description : Add the register r and the carryflag to accumulator
  241.  
  242. Name        : Add memory with carry
  243. Syntax      : ADC M
  244. Semantic    : (A) <-- (A) + ((H) (L)) + (CY)
  245. Code        : 10001110
  246. Length      : 1
  247. Cycles      : 7
  248. Flags       : XXXXX
  249. Description : Add the content of cell where (H,L) points and the carryflag
  250.               to the accumulator
  251.  
  252. Name        : Add immediate with carry
  253. Syntax      : ACI data
  254. Semantic    : (A) <-- (A) + data + (CY)
  255. Code        : 11001110 data
  256. Length      : 2
  257. Cycles      : 7
  258. Flags       : XXXXX
  259. Description : Add data and the carryflag to accumulator
  260.  
  261. Name        : Subtract register
  262. Syntax      : SUB r
  263. Semantic    : (A) <-- (A) - (r)
  264. Code        : 10010SSS
  265. Length      : 1
  266. Cycles      : 4
  267. Flags       : XXXXX
  268. Description : Subtract register r from accumulator
  269.  
  270. Name        : Subtract memory
  271. Syntax      : SUB M
  272. Semantic    : (A) <-- (A) - ((H) (L))
  273. Code        : 10010110
  274. Length      : 1
  275. Cycles      : 7
  276. Flags       : XXXXX
  277. Description : Subtract content of cell where (H,L) points from accumulator
  278.  
  279. Name        : Subtract immediate
  280. Syntax      : SUI data
  281. Semantic    : (A) <-- (A) - data
  282. Code        : 11010110 data
  283. Length      : 2
  284. Cycles      : 7
  285. Flags       : XXXXX
  286. Description : Subtract data from accumulator
  287.  
  288. Name        : Subtract register with borrow
  289. Syntax      : SBB r
  290. Semantic    : (A) <-- (A) - (r) - (CY)
  291. Code        : 10011SSS
  292. Length      : 1
  293. Cycles      : 4
  294. Flags       : XXXXX
  295. Description : Subtract register r and carryflag from accumulator
  296.  
  297. Name        : Subtract memory with borrow
  298. Syntax      : SBB M
  299. Semantic    : (A) <-- (A) - ((H) (L)) - (CY)
  300. Code        : 10011110
  301. Length      : 1
  302. Cycles      : 7
  303. Flags       : XXXXX
  304. Description : Subtract content of cell where (H,L) points and carryflag 
  305.               from accumulator
  306.  
  307. Name        : Subtract immediate with borrow
  308. Syntax      : SBI data
  309. Semantic    : (A) <-- (A) + data - (CY)
  310. Code        : 11011110 data
  311. Length      : 2
  312. Cycles      : 7
  313. Flags       : XXXXX
  314. Description : Subtract data and the carryflag from accumulator
  315.  
  316. Name        : Increment register
  317. Syntax      : INR r
  318. Semantic    : (r) <-- (r) + 1
  319. Code        : 00DDD100
  320. Length      : 1
  321. Cycles      : 4
  322. Flags       : -XXXX
  323. Description : Increment register r
  324.  
  325. Name        : Increment memory
  326. Syntax      : INR M
  327. Semantic    : ((H) (L)) <-- ((H) (L)) + 1
  328. Code        : 00110100
  329. Length      : 1
  330. Cycles      : 10
  331. Flags       : -XXXX
  332. Description : Increment content of cell where (H,L) points to
  333.  
  334. Name        : Decrement register
  335. Syntax      : DCR r
  336. Semantic    : (r) <-- (r) - 1
  337. Code        : 00DDD101
  338. Length      : 1
  339. Cycles      : 4
  340. Flags       : -XXXX
  341. Description : Decrement register r
  342.  
  343. Name        : Decrement memory
  344. Syntax      : DCR M
  345. Semantic    : ((H) (L)) <-- ((H) (L)) - 1
  346. Code        : 00110101
  347. Length      : 1
  348. Cycles      : 10
  349. Flags       : -XXXX
  350. Description : Decrement content of cell where (H,L) points to
  351.  
  352. Name        : Increment register pair
  353. Syntax      : INX rp
  354. Semantic    : (rh)(rl) <-- (rh)(rl) + 1
  355. Code        : 00RP0011
  356. Length      : 1
  357. Cycles      : 6
  358. Flags       : -----
  359. Description : Increment register pair rp
  360.  
  361. Name        : Decrement register pair
  362. Syntax      : DCX rp
  363. Semantic    : (rh)(rl) <-- (rh)(rl) - 1
  364. Code        : 00RP1011
  365. Length      : 1
  366. Cycles      : 6
  367. Flags       : ------
  368. Description : Decrement register pair rp
  369.  
  370. Name        : Add register pair to H and L
  371. Syntax      : DAD rp
  372. Semantic    : (H)(L) <-- (H)(L) + (rh)(rl)
  373. Code        : 00RP1001
  374. Length      : 1
  375. Cycles      : 10
  376. Flags       : X-----
  377. Description : Add register pair rp to HL
  378.  
  379. Name        : Decimal adjust accumulator
  380. Syntax      : DAA
  381. Semantic    : (A) <-- adjusted (A)
  382. Code        : 00100111
  383. Length      : 1
  384. Cycles      : 4
  385. Flags       : XXXXX
  386. Description : Correct the BCD number in the accumulator that has been
  387.               corrupted by an addition or subtraction. In particular
  388.               following two steps are performed:
  389.               1.) If the four lower bits of the accumulator are greater
  390.                   nine or the AC flag is set then six is added to the
  391.                   accumulator.
  392.               2.) If the four higher bits of the accumulator are now greater
  393.                   nine or if the CY flag is set the six is added to the
  394.                   higher four bits.
  395.  
  396. Name        : AND register
  397. Syntax      : ANA r
  398. Semantic    : (A) <-- (A) AND (r)
  399. Code        : 10100SSS
  400. Length      : 1
  401. Cycles      : 4
  402. Flags       : 0X1XX
  403. Description : The accumulator is combined with the register r by a logical
  404.               AND
  405.  
  406. Name        : AND memory
  407. Syntax      : ANA M
  408. Semantic    : (A) <-- (A) AND ((H) (L))
  409. Code        : 10100110
  410. Length      : 1
  411. Cycles      : 7
  412. Flags       : 0X1XX
  413. Description : The accumulator is combined with the content of cell where (H,L)
  414.               points to by a logical AND
  415.  
  416. Name        : AND immediate
  417. Syntax      : ANI data
  418. Semantic    : (A) <-- (A) AND data
  419. Code        : 11100110 data
  420. Length      : 2
  421. Cycles      : 7
  422. Flags       : 0X1XX
  423. Description : The accumulator is combined with data by a logical AND
  424.  
  425. Name        : Exclusive OR register
  426. Syntax      : XRA r
  427. Semantic    : (A) <-- (A) EOR (r)
  428. Code        : 10101SSS
  429. Length      : 1
  430. Cycles      : 4
  431. Flags       : 0X0XX
  432. Description : The accumulator is combined with the register r by a logical
  433.               exclusive OR
  434.  
  435. Name        : Exclusive OR memory
  436. Syntax      : XRA M
  437. Semantic    : (A) <-- (A) EOR ((H) (L))
  438. Code        : 10101110
  439. Length      : 1
  440. Cycles      : 7
  441. Flags       : 0X0XX
  442. Description : The accumulator is combined with the content of cell where (H,L)
  443.               points to by a logical exclusive OR
  444.  
  445. Name        : Exclusive OR immediate
  446. Syntax      : XRI data
  447. Semantic    : (A) <-- (A) EOR data
  448. Code        : 11101110 data
  449. Length      : 2
  450. Cycles      : 7
  451. Flags       : 0X0XX
  452. Description : The accumulator is combined with data by a logical exclusive OR
  453.  
  454. Name        : OR register
  455. Syntax      : ORA r
  456. Semantic    : (A) <-- (A) OR (r)
  457. Code        : 10110SSS
  458. Length      : 1
  459. Cycles      : 4
  460. Flags       : 0X0XX
  461. Description : The accumulator is combined with the register r by a logical OR
  462.  
  463. Name        : OR memory
  464. Syntax      : ORA M
  465. Semantic    : (A) <-- (A) OR ((H) (L))
  466. Code        : 10110110
  467. Length      : 1
  468. Cycles      : 7
  469. Flags       : 0X0XX
  470. Description : The accumulator is combined with the content of cell where (H,L)
  471.               points to by a logical OR
  472.  
  473. Name        : OR immediate
  474. Syntax      : ORI data
  475. Semantic    : (A) <-- (A) OR data
  476. Code        : 11110110 data
  477. Length      : 2
  478. Cycles      : 7
  479. Flags       : 0X0XX
  480. Description : The accumulator is combined with data by a logical OR
  481.  
  482. Name        : Compare register
  483. Syntax      : CMP r
  484. Semantic    : (A) - (r)
  485. Code        : 10111SSS
  486. Length      : 1
  487. Cycles      : 4
  488. Flags       : XXXXX
  489. Description : Flags are set as if the register r was subtracted from
  490.               accumulator.
  491.  
  492. Name        : Compare memory
  493. Syntax      : CMP M
  494. Semantic    : (A) - ((H) (L))
  495. Code        : 10111110
  496. Length      : 1
  497. Cycles      : 7
  498. Flags       : XXXXX
  499. Description : Flags are set as if the content of the cell where (H,L) points
  500.               to was subtracted from the accumulator
  501.  
  502. Name        : Compare immediate
  503. Syntax      : CPI data
  504. Semantic    : (A) - data
  505. Code        : 11111110 data
  506. Length      : 2
  507. Cycles      : 7
  508. Flags       : XXXXX
  509. Description : Flags are set as if the data was subtracted from the accumulator
  510.  
  511. Name        : Rotate left
  512. Syntax      : RLC
  513. Semantic    : (A[n+1]) <-- (A[n]) ; (A[0]) <-- (A[7]) ; (CY) <-- (A[7])
  514. Code        : 00000111
  515. Length      : 1
  516. Cycles      : 4
  517. Flags       : X----
  518. Description : The accumulator is shifted cyclical to the left. The highest
  519.               bit is also copied in the carry flag
  520.  
  521. Name        : Rotate right
  522. Syntax      : RRC
  523. Semantic    : (A[n]) <-- (A[n+1]) ; (A[7]) <-- (A[0]) ; (CY) <-- (A[0])
  524. Code        : 00001111
  525. Length      : 1
  526. Cycles      : 4
  527. Flags       : X----
  528. Description : The accumulator is shifted cyclical to the right. The lowest
  529.               bit is also copied in the carry flag
  530.  
  531. Name        : Rotate left through carry
  532. Syntax      : RAL
  533. Semantic    : (A[n+1]) <-- (A[n]) ; (CY) <-- (A[7]) ; (A[0]) <-- (CY)
  534. Code        : 00010111
  535. Length      : 1
  536. Cycles      : 4
  537. Flags       : X----
  538. Description : The accumulator is shifted cyclical to the left through the
  539.               the carry flag
  540.  
  541. Name        : Rotate right through carry
  542. Syntax      : RAR
  543. Semantic    : (A[n]) <-- (A[n+1]) ; (CY) <-- (A[0]) ; (A[7]) <-- (CY)
  544. Code        : 00011111
  545. Length      : 1
  546. Cycles      : 4
  547. Flags       : X----
  548. Description : The accumulator is shifted cyclical to the right through the
  549.               the carry flag
  550.  
  551. Name        : Complement accumulator
  552. Syntax      : CMA      _
  553. Semantic    : (A) <-- (A)
  554. Code        : 00101111
  555. Length      : 1
  556. Cycles      : 4
  557. Flags       : -----
  558. Description : All 0 bits in the accumulator are replaced by 1 and all
  559.               1 bits by 0.
  560.  
  561. Name        : Complement carry
  562. Syntax      : CMC       __
  563. Semantic    : (CY) <-- (CY)
  564. Code        : 00111111
  565. Length      : 1
  566. Cycles      : 4
  567. Flags       : X----
  568. Description : The carry flag is complemented
  569.  
  570. Name        : Set carry
  571. Syntax      : STC
  572. Semantic    : (CY) <-- 1
  573. Code        : 00110111
  574. Length      : 1
  575. Cycles      : 4
  576. Flags       : 1----
  577. Description : The carry flag is set
  578.  
  579. Name        : Jump
  580. Syntax      : JMP addr
  581. Semantic    : (PC) <-- addr
  582. Code        : 11000011 laddr haddr
  583. Length      : 3
  584. Cycles      : 10
  585. Flags       : -----
  586. Description : The program counter is set to addr
  587.  
  588. Name        : Conditional jump
  589. Syntax      : Jcc addr
  590. Semantic    : If (cc)
  591.                 (PC) <-- addr
  592. Code        : 11CCC010 laddr haddr
  593. Length      : 3
  594. Cycles      : 7/10
  595. Flags       : -----
  596. Description : The program counter is set to addr if the conition is true
  597.  
  598. Name        : Call
  599. Syntax      : CALL addr
  600. Semantic    : ((SP)-1) <-- (hPC)
  601.               ((SP)-2) <-- (lPC)
  602.               (SP) <-- (SP) - 2
  603.               (PC) <-- addr
  604. Code        : 11001101 laddr haddr
  605. Length      : 3
  606. Cycles      : 18
  607. Flags       : -----
  608. Description : The current program counter is saved on the stack and the
  609.               program counter is set to addr, i.e. a subroutine is called
  610.  
  611. Name        : Condition call
  612. Syntax      : Ccc addr
  613. Semantic    : If (cc)
  614.                 ((SP)-1) <-- (hPC)
  615.                 ((SP)-2) <-- (lPC)
  616.                 (SP) <-- (SP) - 2
  617.                 (PC) <-- addr
  618. Code        : 11CCC100 laddr haddr
  619. Length      : 3
  620. Cycles      : 9/18
  621. Flags       : -----
  622. Description : If the conition is true the current program counter is saved on
  623.               the stack and the program counter is set to addr, i.e. a
  624.               subroutine is called
  625.  
  626. Name        : Return
  627. Syntax      : RET
  628. Semantic    : (lPC) <-- ((SP))
  629.               (hPC) <-- ((SP)+1)
  630.               (SP) <-- (SP) + 2
  631. Code        : 11001001
  632. Length      : 1
  633. Cycles      : 10
  634. Flags       : -----
  635. Description : Return from a previous subroutine call
  636.  
  637. Name        : Conditional return
  638. Syntax      : Rcc
  639. Semantic    : If (cc)
  640.                 (lPC) <-- ((SP))
  641.                 (hPC) <-- ((SP)+1)
  642.                 (SP) <-- (SP) + 2
  643. Code        : 11CCC000
  644. Length      : 1
  645. Cycles      : 6/12
  646. Flags       : -----
  647. Description : Return from a previous subroutine call if the conition is true
  648.  
  649. Name        : Restart
  650. Syntax      : RST n
  651. Semantic    : ((SP)-1) <-- (hPC)
  652.               ((SP)-2) <-- (lPC)
  653.               (SP) <-- (SP) - 2
  654.               (PC) <-- 8 * n
  655. Code        : 11SSS111
  656. Length      : 1
  657. Cycles      : 12
  658. Flags       : -----
  659. Description : Same as CALL 8*n
  660.  
  661. Name        : JumpHandLindirect
  662. Syntax      : PCHL
  663. Semantic    : (lPC) <-- (L)
  664.               (hPC) <-- (H)
  665. Code        : 11101001
  666. Length      : 1
  667. Cycles      : 6
  668. Flags       : -----
  669. Description : HL is written into the program counter
  670.  
  671. Name        : Push
  672. Syntax      : PUSH rp
  673. Semantic    : ((SP)-1) <-- (rh)
  674.               ((SP)-2) <-- (rl)
  675. Code        : 11RP0101
  676. Length      : 1
  677. Cycles      : 12
  678. Flags       : -----
  679. Description : Register pair rp is saved on the stack
  680.  
  681. Name        : Push processor status word
  682. Syntax      : PUSH PSW
  683. Semantic    : ((SP)-1) <-- (A)
  684.               ((SP)-2[0]) <-- (CY)
  685.               ((SP)-2[2]) <-- (P)
  686.               ((SP)-2[4]) <-- (AC)
  687.               ((SP)-2[6]) <-- (Z)
  688.               ((SP)-2[7]) <-- (S)
  689.               (SP) <-- (SP) - 2
  690. Code        : 11110101
  691. Length      : 1
  692. Cycles      : 12
  693. Flags       : -----
  694. Description : The accumulator and the processor status word are saved on the
  695.               stack
  696.  
  697. Name        : Pop
  698. Syntax      : POP rp
  699. Semantic    : (rl) <-- ((SP))
  700.               (rh) <-- ((SP)+1)
  701.               (SP) <-- (SP) + 2
  702. Code        : 11RP0001
  703. Length      : 1
  704. Cycles      : 10
  705. Flags       : -----
  706. Description : Register pair rp is loaded from stack
  707.  
  708. Name        : Pop processor status word
  709. Syntax      : POP PSW
  710. Semantic    : (CY) <-- ((SP)[0])
  711.               (P)  <-- ((SP)[2])
  712.               (AC) <-- ((SP)[4])
  713.               (Z)  <-- ((SP)[6])
  714.               (S)  <-- ((SP)[7])
  715.               (A)  <-- ((SP)+1)
  716.               (SP) <-- (SP) + 2
  717. Code        : 11110001
  718. Length      : 1
  719. Cycles      : 10
  720. Flags       : XXXXX
  721. Description : The processor status word and the accumulator are loaded from
  722.               the stack
  723.  
  724. Name        : Exchange stack top with H and L
  725. Syntax      : XTHL
  726. Semantic    : (L) <--> ((SP))
  727.               (H) <--> ((SP)+1)
  728. Code        : 11100011
  729. Length      : 1
  730. Cycles      : 16
  731. Flags       : -----
  732. Description : The register pair HL is exchanged with the stack top
  733.  
  734. Name        : Move HL to SP
  735. Syntax      : SPHL
  736. Semantic    : (SP) <-- (H) (L)
  737. Code        : 11111001
  738. Length      : 1
  739. Cycles      : 6
  740. Flags       : -----
  741. Description : Register pair HL is written into SP
  742.  
  743. Name        : Input
  744. Syntax      : IN (port)
  745. Semantic    : (A) <-- data
  746. Code        : 11011011 port
  747. Length      : 2
  748. Cycles      : 10
  749. Flags       : -----
  750. Description : The data of the specified port is read into the accumulator
  751.  
  752. Name        : Output
  753. Syntax      : OUT (port)
  754. Semantic    : data <-- (A)
  755. Code        : 11010011 port
  756. Length      : 2
  757. Cycles      : 10
  758. Flags       : -----
  759. Description : The content of the accumulator is sent to the specified port
  760.  
  761. Name        : Enable interrupts
  762. Syntax      : EI
  763. Semantic    : (enable interrupts) <-- 1
  764. Code        : 11111011
  765. Length      : 1
  766. Cycles      : 4
  767. Flags       : -----
  768. Description : Interrupts are enabled
  769.  
  770. Name        : Disable interrupts
  771. Syntax      : DI
  772. Semantic    : (enable interrupts) <-- 0
  773. Code        : 11110011
  774. Length      : 1
  775. Cycles      : 4
  776. Flags       : -----
  777. Description : Interrupts are disable
  778.  
  779. Name        : Read interrupt masks
  780. Syntax      : RIM
  781. Semantic    : (A) <-- (interrupt mask)
  782. Code        : 00100000
  783. Length      : 1
  784. Cycles      : 4
  785. Flags       : -----
  786. Description : Read interrupt masks and seriell data into accumulator.
  787.               A[7] A[6] A[5] A[4] A[3] A[2] A[1] A[0]
  788.               SID  I7.5 I6.5 I5.5 I7.5 M7.5 M6.5 M5.5
  789.  
  790. Name        : Set interrupt masks
  791. Syntax      : SIM
  792. Semantic    : (interrupt mask) <-- (A)
  793. Code        : 00110000
  794. Length      : 1
  795. Cycles      : 4
  796. Flags       : -----
  797. Description : Set interrupt masks and seriell data from accumulator.
  798.               A[7] A[6] A[5] A[4] A[3] A[2] A[1] A[0]
  799.               SOD  SOE  X    R7.5 MSE  M7.5 M6.5 M5.5
  800.  
  801. Name        : Halt
  802. Syntax      : HLT
  803. Semantic    : (proccessor) <-- halt
  804. Code        : 01110110
  805. Length      : 1
  806. Cycles      : 5
  807. Flags       : -----
  808. Description : The proccessor is stopped
  809.  
  810. Name        : No operation
  811. Syntax      : NOP
  812. Semantic    :
  813. Code        : 00000000
  814. Length      : 1
  815. Cycles      : 4
  816. Flags       : -----
  817. Description : Do nothing                
  818.